import excel, ipAddress


if __name__ == "__main__":
    # test_calculate_ip_info()
    # test_convert_mask()


    # 创建ExcelOperator实例，用于操作Excel文件
    excel_operator = excel.ExcelOperator('./tools/A6.xlsx')

    # 选择工作表
    excel_operator.select_sheet('IP地址池信息表')

    # 将表格ip地址和掩码合并
    ip_info_list = excel_operator.get_data_from_area('F109','F152')

    for index, ip_info in enumerate(ip_info_list):
        result = ipAddress.calculate_ip_info(ip_info[0])
        if 'error' in result:
            print(f"计算{ip_info[0]}时出错: {result['error']}")
        else:
            print(f"计算{ip_info[0]}时结果为: {result}")
            excel_operator.set_cell_value(f"F{index + 109}",str(result['network_with_mask']))

    

    # ip_info_list = excel_operator.get_data_from_area('F109','F152')

    # 计算地址段IP信息
    # for index, ip_info in enumerate(ip_info_list):
    #     ip_str = ip_info[0]
    #     result = ipAddress.calculate_ip_info(ip_str)
    #     if 'error' in result:
    #         print(f"计算{ip_str}时出错: {result['error']}")
    #     else:
    #         print(f"计算{ip_str}时结果为: {result}")
    #         # print(index)
    #         # print(type(result['first_usable_ip']))
    #         # print(f"G{index + 2}")

    #         # excel_operator.set_cell_value(f"F{index + 83}",result['network_with_mask'])
    #         excel_operator.set_cell_value(f"G{index + 109}",str(result['first_usable_ip']))
    #         excel_operator.set_cell_value(f"H{index + 109}",str(result['last_usable_ip']))
    #         excel_operator.set_cell_value(f"I{index + 109}",result['num_usable_ips'])



# 网络交换机配置文件解析器
# 1. 解析配置文件，获取交换机名称、端口、VLAN等信息
# 2. 解析配置文件，获取接口名称、IP地址、掩码、VLAN等信息
# 3. 解析配置文件，获取路由器名称、IP地址、掩码、VLAN等信息
# 4. 解析配置文件，获取防火墙规则、ACL规则等信息

def parse_config_file(config_file_path):
    pass
